--[[
编码: hh-mobox-004
名称: 当前出库任务
作者:SGX
日期:2024-11-17
函数: GenerateViewHTML
功能:
更改记录:
--]]
json = require("json")
mobox = require("OILua_JavelinExt")
m3 = require("oi_base_mobox")
function GenerateViewHTML(strLuaDEID)
local nRet, strRetInfo
local autoplay = false
local strHtmlTitle = "";
local strHtmlRow = "";
--[[ 获取样式 ]]
local strHtmlStyle = GetHtmlStyle();
--[[ 列明 ]]
local tabTitleList = { "物料编码", "物料名称", "状态", "机台" }
--[[ 组织列名 ]]
-- [[ class 处理样式 这里 组成(table-col' .. i .. ') table-col1,table-col2,table-col3 ]]
for i = 1, #tabTitleList do
strHtmlTitle = strHtmlTitle .. '
' .. tabTitleList[i] .. '
'
end
-- 获取执行中的作业数据
local tabDataList = {}
local operation_list
local condition = "TO_CHAR(T_CREATE, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')"
local strFieldList = '["S_STATE","S_ITEM_CODE","S_MS_CODE"]'
nRet, operation_list = mobox.queryTable(strLuaDEID, "TN_GT_Stock_Out", strFieldList, 1000, condition,
"T_CREATE ASC")
if (nRet ~= 0) then lua.Error(strLuaDEID, debug.getinfo(1), "获取【出库单】失败!" .. operation_list) end
if (operation_list == '') then return end
operation_list = json.decode(operation_list)
-- 添加入库信息
for i = 1, #operation_list do
tabDataList[i] = {
item_code = operation_list[i].S_ITEM_CODE,
jt = operation_list[i].S_MS_CODE
}
if (operation_list[i].S_STATE == '新建') then
tabDataList[i].state = "待执行"
tabDataList[i].back = "#ff5722"
elseif (operation_list[i].S_STATE == '启用') then
tabDataList[i].state = "执行中"
tabDataList[i].back = "#ffc107"
elseif (operation_list[i].S_STATE == '完成') then
tabDataList[i].state = "已完成"
tabDataList[i].back = "#2196F3"
end
-- 获取物料名称
condition = "S_ITEM_CODE = '" .. operation_list[i].S_ITEM_CODE .. "'"
nRet, strRetInfo = m3.GetDataObjByCondition(strLuaDEID, "Material", condition)
if (nRet ~= 0) then lua.Error(strLuaDEID, debug.getinfo(1), "获取【物料】失败!" .. strRetInfo) end
tabDataList[i].item_name = strRetInfo.item_name
end
-- --[[ 数据 ]]
-- local tabDataList = {
-- {
-- item_code = "111",
-- item_name = "111",
-- state = "执行中",
-- jt = "1101",
-- back = "#ff5722"
-- }, {
-- item_code = "222",
-- item_name = "222",
-- state = "完成",
-- jt = "1101",
-- back = "#2196F3"
-- }, {
-- item_code = "111",
-- item_name = "111",
-- state = "执行中",
-- jt = "1101",
-- back = "#ff5722"
-- }, {
-- item_code = "111",
-- item_name = "111",
-- state = "执行中",
-- jt = "1101",
-- back = "#ff5722"
-- }, {
-- item_code = "111",
-- item_name = "111",
-- state = "执行中",
-- jt = "1101",
-- back = "#ff5722"
-- }
-- }
if (#tabDataList > 4) then
autoplay = true
end
--[[ 组织行数据html ]]
for i = 1, #tabDataList do
strHtmlRow = strHtmlRow .. '' ..
'
' ..
tabDataList[i].item_code .. '
' .. '
' .. tabDataList[i].item_name ..
'
' ..
'
' ..
'
' .. tabDataList[i].state
..
'
' .. '
' .. '
' .. tabDataList[i].jt .. '
' .. '
'
end
--[[ 总html ]]
local strHtml = ' ' .. '
' .. strHtmlTitle .. '
' ..
'
' .. '
'
local action = {}
action[1] = {
action_type = "chart",
value = {
graphicType = "html",
title = {
text = "当前出库任务",
align = "left",
color = "#fff",
font = "微软雅黑",
fontSize = 18
},
swiper = {
--[[ 容器名称不能重复 不能为空 swiper-container class 需要指定 ]]
containerName = "ck01",
--[[ 强制Swiper的宽度(px),"undefined" 或 整数, 当你的Swiper在隐藏状态下初始化时用得上。这个参数会使自适应失效。可设置为undefined使这个参数无效。 ]]
width = "undefined",
--[[ 强制Swiper的高度(px),当你的Swiper在隐藏状态下初始化时且切换方向为垂直才用得上。这个参数会使自适应失效。 ]]
height = 150,
--[[ 排列方向 vertical , horizontal ]]
direction = "vertical",
--[[ 切换速度,即slider自动滑动开始到结束的时间(单位ms) ]]
speed = 1000,
--[[ loop 模式如果与 slidesPerView: 'auto' 一起使用,需要设置 loopedSlides 指定要循环(重复)的幻灯片数量。 ]]
loop = true,
--[[ 设置slider容器能够同时显示的slides数量,整数或auto ]]
slidesPerView = 'auto',
--[[ 在slide之间设置距离(单位px)。 ]]
spaceBetween = 1,
--[[ 默认情况下Swiper 每次滑动时只滑动一个Slide,并且会自动贴合Wrapper。开启自由模式后,Swiper 会根据惯性滑动可能不止一格且不会贴合。 ]]
freeMode = true,
--[[ 设定slide与左边框的预设偏移量(单位px)。 垂直就行与上方距离 ]]
slidesOffsetBefore = 0,
--[[ 设定slide与右边框的预设偏移量(单位px)。 垂直就行与下方距离 ]]
slidesOffsetAfter = 0,
--[[是否自动播放,true 需要指定 autoplayDelay ]]
autoplay = autoplay,
--[[ 播放间隔时间,单位ms ]]
autoplayDelay = 500
},
html = strHtmlStyle .. strHtml
}
}
-- Debug( strLuaDEID, debug.getinfo(1), "action! ", action )
nRet, strRetInfo = mobox.setAction(strLuaDEID, json.encode(action))
if (nRet ~= 0) then
lua.Error(strLuaDEID, debug.getinfo(1), "setAction失败! " .. strRetInfo)
end
end
function GetHtmlStyle()
return
''
end